/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

网段
网段相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

#import <Foundation/Foundation.h>
#import <JDCloudOCSDKVpc/VpcApiModel.h>


@implementation VpcDeleteRouteTableRequest
-(id) initWithRegion:(NSString *)regionId
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.routeTableId = routeTableId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.version = version;
    self.routeTableId = routeTableId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    return self;
} 

@end
@implementation VpcRemoveRouteTableRulesRequest
-(id) initWithRegion:(NSString *)regionId
ruleIds:(NSArray<NSString*>*)ruleIds
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.ruleIds = ruleIds;
    self.routeTableId = routeTableId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleIds:(NSArray<NSString*>*)ruleIds
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.version = version;
    self.ruleIds = ruleIds;
    self.routeTableId = routeTableId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleIds])
    {
        [result setValue:[self ruleIds] forKey:@"ruleIds"];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleIds = [dictionary objectForKey:@"ruleIds"];
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    return self;
} 

@end
@implementation VpcModifyRouteTableRequest
-(id) initWithRegion:(NSString *)regionId
routeTableName:(NSString*)routeTableName
descriptionValue:(NSString*)descriptionValue
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.routeTableName = routeTableName;
    self.descriptionValue = descriptionValue;
    self.routeTableId = routeTableId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
routeTableName:(NSString*)routeTableName
descriptionValue:(NSString*)descriptionValue
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.version = version;
    self.routeTableName = routeTableName;
    self.descriptionValue = descriptionValue;
    self.routeTableId = routeTableId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self routeTableName])
    {
        [result setValue:[self routeTableName] forKey:@"routeTableName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.routeTableName = [dictionary objectForKey:@"routeTableName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    return self;
} 

@end
@implementation VpcCreateRouteTableRequest
-(id) initWithRegion:(NSString *)regionId
vpcId:(NSString*)vpcId
routeTableName:(NSString*)routeTableName
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.vpcId = vpcId;
    self.routeTableName = routeTableName;
    self.descriptionValue = descriptionValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcId:(NSString*)vpcId
routeTableName:(NSString*)routeTableName
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.version = version;
    self.vpcId = vpcId;
    self.routeTableName = routeTableName;
    self.descriptionValue = descriptionValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self routeTableName])
    {
        [result setValue:[self routeTableName] forKey:@"routeTableName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.routeTableName = [dictionary objectForKey:@"routeTableName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation VpcAssociateRouteTableRequest
-(id) initWithRegion:(NSString *)regionId
subnetIds:(NSArray<NSString*>*)subnetIds
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.subnetIds = subnetIds;
    self.routeTableId = routeTableId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetIds:(NSArray<NSString*>*)subnetIds
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.version = version;
    self.subnetIds = subnetIds;
    self.routeTableId = routeTableId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetIds])
    {
        [result setValue:[self subnetIds] forKey:@"subnetIds"];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetIds = [dictionary objectForKey:@"subnetIds"];
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    return self;
} 

@end
@implementation VpcDescribeRouteTableRequest
-(id) initWithRegion:(NSString *)regionId
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.routeTableId = routeTableId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.version = version;
    self.routeTableId = routeTableId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    return self;
} 

@end
@implementation VpcCreateRouteTableResult
-(id) initWithRouteTableId:(NSString*) routeTableId { 
    self.routeTableId = routeTableId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    return self;
} 

@end
@implementation VpcDisassociateRouteTableRequest
-(id) initWithRegion:(NSString *)regionId
subnetId:(NSString*)subnetId
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.subnetId = subnetId;
    self.routeTableId = routeTableId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetId:(NSString*)subnetId
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.version = version;
    self.subnetId = subnetId;
    self.routeTableId = routeTableId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    return self;
} 

@end
@implementation VpcDescribeQuotaRequest
-(id) initWithRegion:(NSString *)regionId
type:(NSString*)type
parentResourceId:(NSString*)parentResourceId { 
    self.regionId = regionId;
    self.type = type;
    self.parentResourceId = parentResourceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
type:(NSString*)type
parentResourceId:(NSString*)parentResourceId { 
    self.regionId = regionId;
    self.version = version;
    self.type = type;
    self.parentResourceId = parentResourceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self parentResourceId])
    {
        [result setValue:[self parentResourceId] forKey:@"parentResourceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.type = [dictionary objectForKey:@"type"];
    self.parentResourceId = [dictionary objectForKey:@"parentResourceId"];
    return self;
} 

@end
@implementation VpcDescribeQuotaResult
-(id) initWithQuota:(NSObject*) quota { 
    self.quota = quota;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self quota])
    {
        [result setValue:[self quota] forKey:@"quota"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.quota = [dictionary objectForKey:@"quota"];
    return self;
} 

@end
@implementation VpcCreateNetworkInterfaceResult
-(id) initWithNetworkInterfaceId:(NSString*) networkInterfaceId { 
    self.networkInterfaceId = networkInterfaceId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    return self;
} 

@end
@implementation VpcAssignSecondaryIpsRequest
-(id) initWithRegion:(NSString *)regionId
force:(NSNumber*)force
secondaryIps:(NSArray<NSString*>*)secondaryIps
secondaryIpCount:(NSNumber*)secondaryIpCount
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.force = force;
    self.secondaryIps = secondaryIps;
    self.secondaryIpCount = secondaryIpCount;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
force:(NSNumber*)force
secondaryIps:(NSArray<NSString*>*)secondaryIps
secondaryIpCount:(NSNumber*)secondaryIpCount
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.version = version;
    self.force = force;
    self.secondaryIps = secondaryIps;
    self.secondaryIpCount = secondaryIpCount;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self force])
    {
        [result setValue:[self force] forKey:@"force"];
    }
    if([self secondaryIps])
    {
        [result setValue:[self secondaryIps] forKey:@"secondaryIps"];
    }
    if([self secondaryIpCount])
    {
        [result setValue:[self secondaryIpCount] forKey:@"secondaryIpCount"];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.force = [dictionary objectForKey:@"force"];
    self.secondaryIps = [dictionary objectForKey:@"secondaryIps"];
    self.secondaryIpCount = [dictionary objectForKey:@"secondaryIpCount"];
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    return self;
} 

@end
@implementation VpcDeleteNetworkInterfaceRequest
-(id) initWithRegion:(NSString *)regionId
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.version = version;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    return self;
} 

@end
@implementation VpcCreateNetworkInterfaceRequest
-(id) initWithRegion:(NSString *)regionId
subnetId:(NSString*)subnetId
az:(NSString*)az
networkInterfaceName:(NSString*)networkInterfaceName
primaryIpAddress:(NSString*)primaryIpAddress
secondaryIpAddresses:(NSArray<NSString*>*)secondaryIpAddresses
secondaryIpCount:(NSNumber*)secondaryIpCount
securityGroups:(NSArray<NSString*>*)securityGroups
sanityCheck:(NSNumber*)sanityCheck
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.subnetId = subnetId;
    self.az = az;
    self.networkInterfaceName = networkInterfaceName;
    self.primaryIpAddress = primaryIpAddress;
    self.secondaryIpAddresses = secondaryIpAddresses;
    self.secondaryIpCount = secondaryIpCount;
    self.securityGroups = securityGroups;
    self.sanityCheck = sanityCheck;
    self.descriptionValue = descriptionValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetId:(NSString*)subnetId
az:(NSString*)az
networkInterfaceName:(NSString*)networkInterfaceName
primaryIpAddress:(NSString*)primaryIpAddress
secondaryIpAddresses:(NSArray<NSString*>*)secondaryIpAddresses
secondaryIpCount:(NSNumber*)secondaryIpCount
securityGroups:(NSArray<NSString*>*)securityGroups
sanityCheck:(NSNumber*)sanityCheck
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.version = version;
    self.subnetId = subnetId;
    self.az = az;
    self.networkInterfaceName = networkInterfaceName;
    self.primaryIpAddress = primaryIpAddress;
    self.secondaryIpAddresses = secondaryIpAddresses;
    self.secondaryIpCount = secondaryIpCount;
    self.securityGroups = securityGroups;
    self.sanityCheck = sanityCheck;
    self.descriptionValue = descriptionValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self networkInterfaceName])
    {
        [result setValue:[self networkInterfaceName] forKey:@"networkInterfaceName"];
    }
    if([self primaryIpAddress])
    {
        [result setValue:[self primaryIpAddress] forKey:@"primaryIpAddress"];
    }
    if([self secondaryIpAddresses])
    {
        [result setValue:[self secondaryIpAddresses] forKey:@"secondaryIpAddresses"];
    }
    if([self secondaryIpCount])
    {
        [result setValue:[self secondaryIpCount] forKey:@"secondaryIpCount"];
    }
    if([self securityGroups])
    {
        [result setValue:[self securityGroups] forKey:@"securityGroups"];
    }
    if([self sanityCheck])
    {
        [result setValue:[self sanityCheck] forKey:@"sanityCheck"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.az = [dictionary objectForKey:@"az"];
    self.networkInterfaceName = [dictionary objectForKey:@"networkInterfaceName"];
    self.primaryIpAddress = [dictionary objectForKey:@"primaryIpAddress"];
    self.secondaryIpAddresses = [dictionary objectForKey:@"secondaryIpAddresses"];
    self.secondaryIpCount = [dictionary objectForKey:@"secondaryIpCount"];
    self.securityGroups = [dictionary objectForKey:@"securityGroups"];
    self.sanityCheck = [dictionary objectForKey:@"sanityCheck"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation VpcAssociateElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId
privateIpAddress:(NSString*)privateIpAddress
elasticIpAddress:(NSString*)elasticIpAddress
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.elasticIpId = elasticIpId;
    self.privateIpAddress = privateIpAddress;
    self.elasticIpAddress = elasticIpAddress;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId
privateIpAddress:(NSString*)privateIpAddress
elasticIpAddress:(NSString*)elasticIpAddress
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.version = version;
    self.elasticIpId = elasticIpId;
    self.privateIpAddress = privateIpAddress;
    self.elasticIpAddress = elasticIpAddress;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    if([self privateIpAddress])
    {
        [result setValue:[self privateIpAddress] forKey:@"privateIpAddress"];
    }
    if([self elasticIpAddress])
    {
        [result setValue:[self elasticIpAddress] forKey:@"elasticIpAddress"];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    self.privateIpAddress = [dictionary objectForKey:@"privateIpAddress"];
    self.elasticIpAddress = [dictionary objectForKey:@"elasticIpAddress"];
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    return self;
} 

@end
@implementation VpcDisassociateElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId
elasticIpAddress:(NSString*)elasticIpAddress
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.elasticIpId = elasticIpId;
    self.elasticIpAddress = elasticIpAddress;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId
elasticIpAddress:(NSString*)elasticIpAddress
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.version = version;
    self.elasticIpId = elasticIpId;
    self.elasticIpAddress = elasticIpAddress;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    if([self elasticIpAddress])
    {
        [result setValue:[self elasticIpAddress] forKey:@"elasticIpAddress"];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    self.elasticIpAddress = [dictionary objectForKey:@"elasticIpAddress"];
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    return self;
} 

@end
@implementation VpcUnassignSecondaryIpsRequest
-(id) initWithRegion:(NSString *)regionId
secondaryIps:(NSArray<NSString*>*)secondaryIps
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.secondaryIps = secondaryIps;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
secondaryIps:(NSArray<NSString*>*)secondaryIps
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.version = version;
    self.secondaryIps = secondaryIps;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self secondaryIps])
    {
        [result setValue:[self secondaryIps] forKey:@"secondaryIps"];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.secondaryIps = [dictionary objectForKey:@"secondaryIps"];
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    return self;
} 

@end
@implementation VpcDescribeNetworkInterfaceRequest
-(id) initWithRegion:(NSString *)regionId
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.version = version;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    return self;
} 

@end
@implementation VpcModifyNetworkInterfaceRequest
-(id) initWithRegion:(NSString *)regionId
networkInterfaceName:(NSString*)networkInterfaceName
descriptionValue:(NSString*)descriptionValue
securityGroups:(NSArray<NSString*>*)securityGroups
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.networkInterfaceName = networkInterfaceName;
    self.descriptionValue = descriptionValue;
    self.securityGroups = securityGroups;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkInterfaceName:(NSString*)networkInterfaceName
descriptionValue:(NSString*)descriptionValue
securityGroups:(NSArray<NSString*>*)securityGroups
networkInterfaceId:(NSString*)networkInterfaceId { 
    self.regionId = regionId;
    self.version = version;
    self.networkInterfaceName = networkInterfaceName;
    self.descriptionValue = descriptionValue;
    self.securityGroups = securityGroups;
    self.networkInterfaceId = networkInterfaceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkInterfaceName])
    {
        [result setValue:[self networkInterfaceName] forKey:@"networkInterfaceName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self securityGroups])
    {
        [result setValue:[self securityGroups] forKey:@"securityGroups"];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkInterfaceName = [dictionary objectForKey:@"networkInterfaceName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.securityGroups = [dictionary objectForKey:@"securityGroups"];
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    return self;
} 

@end
@implementation VpcDescribeSubnetRequest
-(id) initWithRegion:(NSString *)regionId
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.subnetId = subnetId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.version = version;
    self.subnetId = subnetId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    return self;
} 

@end
@implementation VpcCreateSubnetResult
-(id) initWithSubnetId:(NSString*) subnetId { 
    self.subnetId = subnetId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    return self;
} 

@end
@implementation VpcDeleteSubnetRequest
-(id) initWithRegion:(NSString *)regionId
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.subnetId = subnetId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.version = version;
    self.subnetId = subnetId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    return self;
} 

@end
@implementation VpcCreateSubnetRequest
-(id) initWithRegion:(NSString *)regionId
vpcId:(NSString*)vpcId
subnetName:(NSString*)subnetName
addressPrefix:(NSString*)addressPrefix
routeTableId:(NSString*)routeTableId
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.vpcId = vpcId;
    self.subnetName = subnetName;
    self.addressPrefix = addressPrefix;
    self.routeTableId = routeTableId;
    self.descriptionValue = descriptionValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcId:(NSString*)vpcId
subnetName:(NSString*)subnetName
addressPrefix:(NSString*)addressPrefix
routeTableId:(NSString*)routeTableId
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.version = version;
    self.vpcId = vpcId;
    self.subnetName = subnetName;
    self.addressPrefix = addressPrefix;
    self.routeTableId = routeTableId;
    self.descriptionValue = descriptionValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self subnetName])
    {
        [result setValue:[self subnetName] forKey:@"subnetName"];
    }
    if([self addressPrefix])
    {
        [result setValue:[self addressPrefix] forKey:@"addressPrefix"];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.subnetName = [dictionary objectForKey:@"subnetName"];
    self.addressPrefix = [dictionary objectForKey:@"addressPrefix"];
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation VpcModifySubnetRequest
-(id) initWithRegion:(NSString *)regionId
subnetName:(NSString*)subnetName
descriptionValue:(NSString*)descriptionValue
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.subnetName = subnetName;
    self.descriptionValue = descriptionValue;
    self.subnetId = subnetId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetName:(NSString*)subnetName
descriptionValue:(NSString*)descriptionValue
subnetId:(NSString*)subnetId { 
    self.regionId = regionId;
    self.version = version;
    self.subnetName = subnetName;
    self.descriptionValue = descriptionValue;
    self.subnetId = subnetId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetName])
    {
        [result setValue:[self subnetName] forKey:@"subnetName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetName = [dictionary objectForKey:@"subnetName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    return self;
} 

@end
@implementation VpcRemoveNetworkSecurityGroupRulesRequest
-(id) initWithRegion:(NSString *)regionId
ruleIds:(NSArray<NSString*>*)ruleIds
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.ruleIds = ruleIds;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleIds:(NSArray<NSString*>*)ruleIds
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.ruleIds = ruleIds;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleIds])
    {
        [result setValue:[self ruleIds] forKey:@"ruleIds"];
    }
    if([self networkSecurityGroupId])
    {
        [result setValue:[self networkSecurityGroupId] forKey:@"networkSecurityGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleIds = [dictionary objectForKey:@"ruleIds"];
    self.networkSecurityGroupId = [dictionary objectForKey:@"networkSecurityGroupId"];
    return self;
} 

@end
@implementation VpcDeleteNetworkSecurityGroupRequest
-(id) initWithRegion:(NSString *)regionId
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkSecurityGroupId])
    {
        [result setValue:[self networkSecurityGroupId] forKey:@"networkSecurityGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkSecurityGroupId = [dictionary objectForKey:@"networkSecurityGroupId"];
    return self;
} 

@end
@implementation VpcCreateNetworkSecurityGroupRequest
-(id) initWithRegion:(NSString *)regionId
vpcId:(NSString*)vpcId
networkSecurityGroupName:(NSString*)networkSecurityGroupName
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.vpcId = vpcId;
    self.networkSecurityGroupName = networkSecurityGroupName;
    self.descriptionValue = descriptionValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcId:(NSString*)vpcId
networkSecurityGroupName:(NSString*)networkSecurityGroupName
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.version = version;
    self.vpcId = vpcId;
    self.networkSecurityGroupName = networkSecurityGroupName;
    self.descriptionValue = descriptionValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self networkSecurityGroupName])
    {
        [result setValue:[self networkSecurityGroupName] forKey:@"networkSecurityGroupName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.networkSecurityGroupName = [dictionary objectForKey:@"networkSecurityGroupName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation VpcCreateNetworkSecurityGroupResult
-(id) initWithNetworkSecurityGroupId:(NSString*) networkSecurityGroupId { 
    self.networkSecurityGroupId = networkSecurityGroupId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self networkSecurityGroupId])
    {
        [result setValue:[self networkSecurityGroupId] forKey:@"networkSecurityGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkSecurityGroupId = [dictionary objectForKey:@"networkSecurityGroupId"];
    return self;
} 

@end
@implementation VpcDescribeNetworkSecurityGroupRequest
-(id) initWithRegion:(NSString *)regionId
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkSecurityGroupId])
    {
        [result setValue:[self networkSecurityGroupId] forKey:@"networkSecurityGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkSecurityGroupId = [dictionary objectForKey:@"networkSecurityGroupId"];
    return self;
} 

@end
@implementation VpcModifyNetworkSecurityGroupRequest
-(id) initWithRegion:(NSString *)regionId
networkSecurityGroupName:(NSString*)networkSecurityGroupName
descriptionValue:(NSString*)descriptionValue
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.networkSecurityGroupName = networkSecurityGroupName;
    self.descriptionValue = descriptionValue;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkSecurityGroupName:(NSString*)networkSecurityGroupName
descriptionValue:(NSString*)descriptionValue
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.networkSecurityGroupName = networkSecurityGroupName;
    self.descriptionValue = descriptionValue;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkSecurityGroupName])
    {
        [result setValue:[self networkSecurityGroupName] forKey:@"networkSecurityGroupName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self networkSecurityGroupId])
    {
        [result setValue:[self networkSecurityGroupId] forKey:@"networkSecurityGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkSecurityGroupName = [dictionary objectForKey:@"networkSecurityGroupName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.networkSecurityGroupId = [dictionary objectForKey:@"networkSecurityGroupId"];
    return self;
} 

@end
@implementation VpcDescribeNetworkAclRequest
-(id) initWithRegion:(NSString *)regionId
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.networkAclId = networkAclId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.version = version;
    self.networkAclId = networkAclId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkAclId])
    {
        [result setValue:[self networkAclId] forKey:@"networkAclId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkAclId = [dictionary objectForKey:@"networkAclId"];
    return self;
} 

@end
@implementation VpcCreateNetworkAclResult
-(id) initWithNetworkAclId:(NSString*) networkAclId { 
    self.networkAclId = networkAclId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self networkAclId])
    {
        [result setValue:[self networkAclId] forKey:@"networkAclId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkAclId = [dictionary objectForKey:@"networkAclId"];
    return self;
} 

@end
@implementation VpcDisassociateNetworkAclRequest
-(id) initWithRegion:(NSString *)regionId
subnetId:(NSString*)subnetId
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.subnetId = subnetId;
    self.networkAclId = networkAclId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetId:(NSString*)subnetId
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.version = version;
    self.subnetId = subnetId;
    self.networkAclId = networkAclId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self networkAclId])
    {
        [result setValue:[self networkAclId] forKey:@"networkAclId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.networkAclId = [dictionary objectForKey:@"networkAclId"];
    return self;
} 

@end
@implementation VpcCreateNetworkAclRequest
-(id) initWithRegion:(NSString *)regionId
vpcId:(NSString*)vpcId
networkAclName:(NSString*)networkAclName
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.vpcId = vpcId;
    self.networkAclName = networkAclName;
    self.descriptionValue = descriptionValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcId:(NSString*)vpcId
networkAclName:(NSString*)networkAclName
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.version = version;
    self.vpcId = vpcId;
    self.networkAclName = networkAclName;
    self.descriptionValue = descriptionValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self networkAclName])
    {
        [result setValue:[self networkAclName] forKey:@"networkAclName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.networkAclName = [dictionary objectForKey:@"networkAclName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation VpcRemoveNetworkAclRulesRequest
-(id) initWithRegion:(NSString *)regionId
ruleIds:(NSArray<NSString*>*)ruleIds
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.ruleIds = ruleIds;
    self.networkAclId = networkAclId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ruleIds:(NSArray<NSString*>*)ruleIds
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.version = version;
    self.ruleIds = ruleIds;
    self.networkAclId = networkAclId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ruleIds])
    {
        [result setValue:[self ruleIds] forKey:@"ruleIds"];
    }
    if([self networkAclId])
    {
        [result setValue:[self networkAclId] forKey:@"networkAclId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleIds = [dictionary objectForKey:@"ruleIds"];
    self.networkAclId = [dictionary objectForKey:@"networkAclId"];
    return self;
} 

@end
@implementation VpcModifyNetworkAclRequest
-(id) initWithRegion:(NSString *)regionId
networkAclName:(NSString*)networkAclName
descriptionValue:(NSString*)descriptionValue
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.networkAclName = networkAclName;
    self.descriptionValue = descriptionValue;
    self.networkAclId = networkAclId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkAclName:(NSString*)networkAclName
descriptionValue:(NSString*)descriptionValue
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.version = version;
    self.networkAclName = networkAclName;
    self.descriptionValue = descriptionValue;
    self.networkAclId = networkAclId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkAclName])
    {
        [result setValue:[self networkAclName] forKey:@"networkAclName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self networkAclId])
    {
        [result setValue:[self networkAclId] forKey:@"networkAclId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkAclName = [dictionary objectForKey:@"networkAclName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.networkAclId = [dictionary objectForKey:@"networkAclId"];
    return self;
} 

@end
@implementation VpcDeleteNetworkAclRequest
-(id) initWithRegion:(NSString *)regionId
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.networkAclId = networkAclId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.version = version;
    self.networkAclId = networkAclId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkAclId])
    {
        [result setValue:[self networkAclId] forKey:@"networkAclId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkAclId = [dictionary objectForKey:@"networkAclId"];
    return self;
} 

@end
@implementation VpcAssociateNetworkAclRequest
-(id) initWithRegion:(NSString *)regionId
subnetIds:(NSArray<NSString*>*)subnetIds
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.subnetIds = subnetIds;
    self.networkAclId = networkAclId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetIds:(NSArray<NSString*>*)subnetIds
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.version = version;
    self.subnetIds = subnetIds;
    self.networkAclId = networkAclId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self subnetIds])
    {
        [result setValue:[self subnetIds] forKey:@"subnetIds"];
    }
    if([self networkAclId])
    {
        [result setValue:[self networkAclId] forKey:@"networkAclId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnetIds = [dictionary objectForKey:@"subnetIds"];
    self.networkAclId = [dictionary objectForKey:@"networkAclId"];
    return self;
} 

@end
@implementation VpcDescribeElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.elasticIpId = elasticIpId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.version = version;
    self.elasticIpId = elasticIpId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    return self;
} 

@end
@implementation VpcDeleteElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.elasticIpId = elasticIpId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.version = version;
    self.elasticIpId = elasticIpId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    return self;
} 

@end
@implementation VpcModifyElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
bandwidthMbps:(NSNumber*)bandwidthMbps
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.bandwidthMbps = bandwidthMbps;
    self.elasticIpId = elasticIpId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
bandwidthMbps:(NSNumber*)bandwidthMbps
elasticIpId:(NSString*)elasticIpId { 
    self.regionId = regionId;
    self.version = version;
    self.bandwidthMbps = bandwidthMbps;
    self.elasticIpId = elasticIpId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self bandwidthMbps])
    {
        [result setValue:[self bandwidthMbps] forKey:@"bandwidthMbps"];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.bandwidthMbps = [dictionary objectForKey:@"bandwidthMbps"];
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    return self;
} 

@end
@implementation VpcCreateElasticIpsResult
-(id) initWithElasticIpIds:(NSArray<NSString*>*) elasticIpIds
        requestId:(NSString*)requestId { 
    self.elasticIpIds = elasticIpIds;               
    self.requestId = requestId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self elasticIpIds])
    {
        [result setValue:[self elasticIpIds] forKey:@"elasticIpIds"];
    }
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpIds = [dictionary objectForKey:@"elasticIpIds"];
    self.requestId = [dictionary objectForKey:@"requestId"];
    return self;
} 

@end
@implementation VpcModifyVpcPeeringRequest
-(id) initWithRegion:(NSString *)regionId
vpcPeeringName:(NSString*)vpcPeeringName
descriptionValue:(NSString*)descriptionValue
vpcPeeringId:(NSString*)vpcPeeringId { 
    self.regionId = regionId;
    self.vpcPeeringName = vpcPeeringName;
    self.descriptionValue = descriptionValue;
    self.vpcPeeringId = vpcPeeringId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcPeeringName:(NSString*)vpcPeeringName
descriptionValue:(NSString*)descriptionValue
vpcPeeringId:(NSString*)vpcPeeringId { 
    self.regionId = regionId;
    self.version = version;
    self.vpcPeeringName = vpcPeeringName;
    self.descriptionValue = descriptionValue;
    self.vpcPeeringId = vpcPeeringId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcPeeringName])
    {
        [result setValue:[self vpcPeeringName] forKey:@"vpcPeeringName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self vpcPeeringId])
    {
        [result setValue:[self vpcPeeringId] forKey:@"vpcPeeringId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcPeeringName = [dictionary objectForKey:@"vpcPeeringName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.vpcPeeringId = [dictionary objectForKey:@"vpcPeeringId"];
    return self;
} 

@end
@implementation VpcCreateVpcPeeringRequest
-(id) initWithRegion:(NSString *)regionId
vpcPeeringName:(NSString*)vpcPeeringName
vpcId:(NSString*)vpcId
remoteVpcId:(NSString*)remoteVpcId
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.vpcPeeringName = vpcPeeringName;
    self.vpcId = vpcId;
    self.remoteVpcId = remoteVpcId;
    self.descriptionValue = descriptionValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcPeeringName:(NSString*)vpcPeeringName
vpcId:(NSString*)vpcId
remoteVpcId:(NSString*)remoteVpcId
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.version = version;
    self.vpcPeeringName = vpcPeeringName;
    self.vpcId = vpcId;
    self.remoteVpcId = remoteVpcId;
    self.descriptionValue = descriptionValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcPeeringName])
    {
        [result setValue:[self vpcPeeringName] forKey:@"vpcPeeringName"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self remoteVpcId])
    {
        [result setValue:[self remoteVpcId] forKey:@"remoteVpcId"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcPeeringName = [dictionary objectForKey:@"vpcPeeringName"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.remoteVpcId = [dictionary objectForKey:@"remoteVpcId"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation VpcDescribeVpcPeeringRequest
-(id) initWithRegion:(NSString *)regionId
vpcPeeringId:(NSString*)vpcPeeringId { 
    self.regionId = regionId;
    self.vpcPeeringId = vpcPeeringId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcPeeringId:(NSString*)vpcPeeringId { 
    self.regionId = regionId;
    self.version = version;
    self.vpcPeeringId = vpcPeeringId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcPeeringId])
    {
        [result setValue:[self vpcPeeringId] forKey:@"vpcPeeringId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcPeeringId = [dictionary objectForKey:@"vpcPeeringId"];
    return self;
} 

@end
@implementation VpcDeleteVpcPeeringRequest
-(id) initWithRegion:(NSString *)regionId
vpcPeeringId:(NSString*)vpcPeeringId { 
    self.regionId = regionId;
    self.vpcPeeringId = vpcPeeringId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcPeeringId:(NSString*)vpcPeeringId { 
    self.regionId = regionId;
    self.version = version;
    self.vpcPeeringId = vpcPeeringId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcPeeringId])
    {
        [result setValue:[self vpcPeeringId] forKey:@"vpcPeeringId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcPeeringId = [dictionary objectForKey:@"vpcPeeringId"];
    return self;
} 

@end
@implementation VpcDeleteVpcRequest
-(id) initWithRegion:(NSString *)regionId
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.vpcId = vpcId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.version = version;
    self.vpcId = vpcId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    return self;
} 

@end
@implementation VpcDescribeVpcRequest
-(id) initWithRegion:(NSString *)regionId
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.vpcId = vpcId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.version = version;
    self.vpcId = vpcId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    return self;
} 

@end
@implementation VpcCreateVpcRequest
-(id) initWithRegion:(NSString *)regionId
vpcName:(NSString*)vpcName
addressPrefix:(NSString*)addressPrefix
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.vpcName = vpcName;
    self.addressPrefix = addressPrefix;
    self.descriptionValue = descriptionValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcName:(NSString*)vpcName
addressPrefix:(NSString*)addressPrefix
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.version = version;
    self.vpcName = vpcName;
    self.addressPrefix = addressPrefix;
    self.descriptionValue = descriptionValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcName])
    {
        [result setValue:[self vpcName] forKey:@"vpcName"];
    }
    if([self addressPrefix])
    {
        [result setValue:[self addressPrefix] forKey:@"addressPrefix"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcName = [dictionary objectForKey:@"vpcName"];
    self.addressPrefix = [dictionary objectForKey:@"addressPrefix"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation VpcModifyVpcRequest
-(id) initWithRegion:(NSString *)regionId
vpcName:(NSString*)vpcName
descriptionValue:(NSString*)descriptionValue
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.vpcName = vpcName;
    self.descriptionValue = descriptionValue;
    self.vpcId = vpcId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcName:(NSString*)vpcName
descriptionValue:(NSString*)descriptionValue
vpcId:(NSString*)vpcId { 
    self.regionId = regionId;
    self.version = version;
    self.vpcName = vpcName;
    self.descriptionValue = descriptionValue;
    self.vpcId = vpcId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self vpcName])
    {
        [result setValue:[self vpcName] forKey:@"vpcName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcName = [dictionary objectForKey:@"vpcName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    return self;
} 

@end
@implementation VpcCreateVpcResult
-(id) initWithVpcId:(NSString*) vpcId { 
    self.vpcId = vpcId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    return self;
} 

@end
@implementation VpcRemoveRouteTableRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcRemoveRouteTableRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcRemoveRouteTableRulesResult* result = [[VpcRemoveRouteTableRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcRemoveRouteTableRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeRouteTablesRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation VpcAddRouteTableRulesRequest
-(id) initWithRegion:(NSString *)regionId
routeTableRuleSpecs:(NSArray<AddRouteTableRules*>*)routeTableRuleSpecs
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.routeTableRuleSpecs = routeTableRuleSpecs;
    self.routeTableId = routeTableId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
routeTableRuleSpecs:(NSArray<AddRouteTableRules*>*)routeTableRuleSpecs
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.version = version;
    self.routeTableRuleSpecs = routeTableRuleSpecs;
    self.routeTableId = routeTableId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self routeTableRuleSpecs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self routeTableRuleSpecs] count]; i++) {
            AddRouteTableRules* item = [[self routeTableRuleSpecs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"routeTableRuleSpecs"];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* routeTableRuleSpecsArray = [dictionary objectForKey:@"routeTableRuleSpecs"];
    if(routeTableRuleSpecsArray&&![routeTableRuleSpecsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [routeTableRuleSpecsArray count];i++)
        {
        AddRouteTableRules* item = [[AddRouteTableRules alloc]initWithDic:[routeTableRuleSpecsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.routeTableRuleSpecs = propertyArray;
    }
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    return self;
} 

@end
@implementation VpcModifyRouteTableRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcDescribeRouteTablesResult
-(id) initWithRouteTables:(NSArray<RouteTable*>*) routeTables
        totalCount:(NSNumber*)totalCount { 
    self.routeTables = routeTables;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self routeTables])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self routeTables] count]; i++) {
            RouteTable* item = [[self routeTables] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"routeTables"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* routeTablesArray = [dictionary objectForKey:@"routeTables"];
    if(routeTablesArray&&![routeTablesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [routeTablesArray count];i++)
        {
        RouteTable* item = [[RouteTable alloc]initWithDic:[routeTablesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.routeTables = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation VpcDescribeRouteTableResult
-(id) initWithRouteTable:(RouteTable*) routeTable { 
    self.routeTable = routeTable;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self routeTable])
    {
        [result setValue:[[self routeTable] dictionary]forKey:@"routeTable"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.routeTable = [[RouteTable alloc]initWithDic:[dictionary objectForKey:@"routeTable"]];
    return self;
} 

@end
@implementation VpcAssociateRouteTableResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcModifyRouteTableRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyRouteTableRulesResult* result = [[VpcModifyRouteTableRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyRouteTableRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcModifyRouteTableResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcModifyRouteTableRulesRequest
-(id) initWithRegion:(NSString *)regionId
modifyRouteTableRuleSpecs:(NSArray<ModifyRouteTableRules*>*)modifyRouteTableRuleSpecs
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.modifyRouteTableRuleSpecs = modifyRouteTableRuleSpecs;
    self.routeTableId = routeTableId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
modifyRouteTableRuleSpecs:(NSArray<ModifyRouteTableRules*>*)modifyRouteTableRuleSpecs
routeTableId:(NSString*)routeTableId { 
    self.regionId = regionId;
    self.version = version;
    self.modifyRouteTableRuleSpecs = modifyRouteTableRuleSpecs;
    self.routeTableId = routeTableId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self modifyRouteTableRuleSpecs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self modifyRouteTableRuleSpecs] count]; i++) {
            ModifyRouteTableRules* item = [[self modifyRouteTableRuleSpecs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"modifyRouteTableRuleSpecs"];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* modifyRouteTableRuleSpecsArray = [dictionary objectForKey:@"modifyRouteTableRuleSpecs"];
    if(modifyRouteTableRuleSpecsArray&&![modifyRouteTableRuleSpecsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [modifyRouteTableRuleSpecsArray count];i++)
        {
        ModifyRouteTableRules* item = [[ModifyRouteTableRules alloc]initWithDic:[modifyRouteTableRuleSpecsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.modifyRouteTableRuleSpecs = propertyArray;
    }
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    return self;
} 

@end
@implementation VpcAddRouteTableRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcDisassociateRouteTableResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDescribeRouteTableResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeRouteTableResult* result = [[VpcDescribeRouteTableResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeRouteTableResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcAssociateRouteTableResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcAssociateRouteTableResult* result = [[VpcAssociateRouteTableResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcAssociateRouteTableResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcDescribeRouteTablesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeRouteTablesResult* result = [[VpcDescribeRouteTablesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeRouteTablesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcModifyRouteTableResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyRouteTableResult* result = [[VpcModifyRouteTableResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyRouteTableResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcCreateRouteTableResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcCreateRouteTableResult* result = [[VpcCreateRouteTableResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcCreateRouteTableResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcDisassociateRouteTableResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDisassociateRouteTableResult* result = [[VpcDisassociateRouteTableResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDisassociateRouteTableResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDeleteRouteTableResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDeleteRouteTableResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDeleteRouteTableResult* result = [[VpcDeleteRouteTableResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDeleteRouteTableResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcAddRouteTableRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcAddRouteTableRulesResult* result = [[VpcAddRouteTableRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcAddRouteTableRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcDescribeQuotaResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeQuotaResult* result = [[VpcDescribeQuotaResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeQuotaResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcUnassignSecondaryIpsResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcDescribeNetworkInterfacesResult
-(id) initWithNetworkInterfaces:(NSArray<NetworkInterface*>*) networkInterfaces
        totalCount:(NSNumber*)totalCount { 
    self.networkInterfaces = networkInterfaces;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self networkInterfaces])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self networkInterfaces] count]; i++) {
            NetworkInterface* item = [[self networkInterfaces] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"networkInterfaces"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* networkInterfacesArray = [dictionary objectForKey:@"networkInterfaces"];
    if(networkInterfacesArray&&![networkInterfacesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [networkInterfacesArray count];i++)
        {
        NetworkInterface* item = [[NetworkInterface alloc]initWithDic:[networkInterfacesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.networkInterfaces = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation VpcModifyNetworkInterfaceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcModifyNetworkInterfaceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyNetworkInterfaceResult* result = [[VpcModifyNetworkInterfaceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyNetworkInterfaceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDeleteNetworkInterfaceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDeleteNetworkInterfaceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDeleteNetworkInterfaceResult* result = [[VpcDeleteNetworkInterfaceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDeleteNetworkInterfaceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeNetworkInterfaceResult
-(id) initWithNetworkInterface:(NetworkInterface*) networkInterface { 
    self.networkInterface = networkInterface;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self networkInterface])
    {
        [result setValue:[[self networkInterface] dictionary]forKey:@"networkInterface"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkInterface = [[NetworkInterface alloc]initWithDic:[dictionary objectForKey:@"networkInterface"]];
    return self;
} 

@end
  
@implementation VpcDescribeNetworkInterfaceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeNetworkInterfaceResult* result = [[VpcDescribeNetworkInterfaceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeNetworkInterfaceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcAssociateElasticIpResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcAssociateElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcAssociateElasticIpResult* result = [[VpcAssociateElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcAssociateElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcAssignSecondaryIpsResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcAssignSecondaryIpsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcAssignSecondaryIpsResult* result = [[VpcAssignSecondaryIpsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcAssignSecondaryIpsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcUnassignSecondaryIpsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcUnassignSecondaryIpsResult* result = [[VpcUnassignSecondaryIpsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcUnassignSecondaryIpsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcDescribeNetworkInterfacesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeNetworkInterfacesResult* result = [[VpcDescribeNetworkInterfacesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeNetworkInterfacesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcCreateNetworkInterfaceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcCreateNetworkInterfaceResult* result = [[VpcCreateNetworkInterfaceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcCreateNetworkInterfaceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDisassociateElasticIpResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcDescribeNetworkInterfacesRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
  
@implementation VpcDisassociateElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDisassociateElasticIpResult* result = [[VpcDisassociateElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDisassociateElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDeleteSubnetResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcDescribeSubnetsResult
-(id) initWithSubnets:(NSArray<Subnet*>*) subnets
        totalCount:(NSNumber*)totalCount { 
    self.subnets = subnets;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subnets])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self subnets] count]; i++) {
            Subnet* item = [[self subnets] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"subnets"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* subnetsArray = [dictionary objectForKey:@"subnets"];
    if(subnetsArray&&![subnetsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [subnetsArray count];i++)
        {
        Subnet* item = [[Subnet alloc]initWithDic:[subnetsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.subnets = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation VpcDescribeSubnetsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeSubnetsResult* result = [[VpcDescribeSubnetsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeSubnetsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeSubnetResult
-(id) initWithSubnet:(Subnet*) subnet { 
    self.subnet = subnet;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subnet])
    {
        [result setValue:[[self subnet] dictionary]forKey:@"subnet"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnet = [[Subnet alloc]initWithDic:[dictionary objectForKey:@"subnet"]];
    return self;
} 

@end
  
@implementation VpcDescribeSubnetResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeSubnetResult* result = [[VpcDescribeSubnetResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeSubnetResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcDeleteSubnetResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDeleteSubnetResult* result = [[VpcDeleteSubnetResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDeleteSubnetResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeSubnetsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation VpcModifySubnetResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcCreateSubnetResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcCreateSubnetResult* result = [[VpcCreateSubnetResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcCreateSubnetResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcModifySubnetResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifySubnetResult* result = [[VpcModifySubnetResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifySubnetResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeNetworkSecurityGroupsResult
-(id) initWithNetworkSecurityGroups:(NSArray<NetworkSecurityGroup*>*) networkSecurityGroups
        totalCount:(NSNumber*)totalCount { 
    self.networkSecurityGroups = networkSecurityGroups;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self networkSecurityGroups])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self networkSecurityGroups] count]; i++) {
            NetworkSecurityGroup* item = [[self networkSecurityGroups] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"networkSecurityGroups"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* networkSecurityGroupsArray = [dictionary objectForKey:@"networkSecurityGroups"];
    if(networkSecurityGroupsArray&&![networkSecurityGroupsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [networkSecurityGroupsArray count];i++)
        {
        NetworkSecurityGroup* item = [[NetworkSecurityGroup alloc]initWithDic:[networkSecurityGroupsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.networkSecurityGroups = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation VpcDescribeNetworkSecurityGroupResult
-(id) initWithNetworkSecurityGroup:(NetworkSecurityGroup*) networkSecurityGroup { 
    self.networkSecurityGroup = networkSecurityGroup;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self networkSecurityGroup])
    {
        [result setValue:[[self networkSecurityGroup] dictionary]forKey:@"networkSecurityGroup"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkSecurityGroup = [[NetworkSecurityGroup alloc]initWithDic:[dictionary objectForKey:@"networkSecurityGroup"]];
    return self;
} 

@end
@implementation VpcAddNetworkSecurityGroupRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcAddNetworkSecurityGroupRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcAddNetworkSecurityGroupRulesResult* result = [[VpcAddNetworkSecurityGroupRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcAddNetworkSecurityGroupRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcDescribeNetworkSecurityGroupsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeNetworkSecurityGroupsResult* result = [[VpcDescribeNetworkSecurityGroupsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeNetworkSecurityGroupsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcModifyNetworkSecurityGroupRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcModifyNetworkSecurityGroupRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyNetworkSecurityGroupRulesResult* result = [[VpcModifyNetworkSecurityGroupRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyNetworkSecurityGroupRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcCreateNetworkSecurityGroupResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcCreateNetworkSecurityGroupResult* result = [[VpcCreateNetworkSecurityGroupResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcCreateNetworkSecurityGroupResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcAddNetworkSecurityGroupRulesRequest
-(id) initWithRegion:(NSString *)regionId
networkSecurityGroupRuleSpecs:(NSArray<AddSecurityGroupRules*>*)networkSecurityGroupRuleSpecs
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.networkSecurityGroupRuleSpecs = networkSecurityGroupRuleSpecs;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkSecurityGroupRuleSpecs:(NSArray<AddSecurityGroupRules*>*)networkSecurityGroupRuleSpecs
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.networkSecurityGroupRuleSpecs = networkSecurityGroupRuleSpecs;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkSecurityGroupRuleSpecs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self networkSecurityGroupRuleSpecs] count]; i++) {
            AddSecurityGroupRules* item = [[self networkSecurityGroupRuleSpecs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"networkSecurityGroupRuleSpecs"];
    }
    if([self networkSecurityGroupId])
    {
        [result setValue:[self networkSecurityGroupId] forKey:@"networkSecurityGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* networkSecurityGroupRuleSpecsArray = [dictionary objectForKey:@"networkSecurityGroupRuleSpecs"];
    if(networkSecurityGroupRuleSpecsArray&&![networkSecurityGroupRuleSpecsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [networkSecurityGroupRuleSpecsArray count];i++)
        {
        AddSecurityGroupRules* item = [[AddSecurityGroupRules alloc]initWithDic:[networkSecurityGroupRuleSpecsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.networkSecurityGroupRuleSpecs = propertyArray;
    }
    self.networkSecurityGroupId = [dictionary objectForKey:@"networkSecurityGroupId"];
    return self;
} 

@end
@implementation VpcModifyNetworkSecurityGroupRulesRequest
-(id) initWithRegion:(NSString *)regionId
modifySecurityGroupRuleSpecs:(NSArray<ModifySecurityGroupRules*>*)modifySecurityGroupRuleSpecs
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.modifySecurityGroupRuleSpecs = modifySecurityGroupRuleSpecs;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
modifySecurityGroupRuleSpecs:(NSArray<ModifySecurityGroupRules*>*)modifySecurityGroupRuleSpecs
networkSecurityGroupId:(NSString*)networkSecurityGroupId { 
    self.regionId = regionId;
    self.version = version;
    self.modifySecurityGroupRuleSpecs = modifySecurityGroupRuleSpecs;
    self.networkSecurityGroupId = networkSecurityGroupId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self modifySecurityGroupRuleSpecs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self modifySecurityGroupRuleSpecs] count]; i++) {
            ModifySecurityGroupRules* item = [[self modifySecurityGroupRuleSpecs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"modifySecurityGroupRuleSpecs"];
    }
    if([self networkSecurityGroupId])
    {
        [result setValue:[self networkSecurityGroupId] forKey:@"networkSecurityGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* modifySecurityGroupRuleSpecsArray = [dictionary objectForKey:@"modifySecurityGroupRuleSpecs"];
    if(modifySecurityGroupRuleSpecsArray&&![modifySecurityGroupRuleSpecsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [modifySecurityGroupRuleSpecsArray count];i++)
        {
        ModifySecurityGroupRules* item = [[ModifySecurityGroupRules alloc]initWithDic:[modifySecurityGroupRuleSpecsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.modifySecurityGroupRuleSpecs = propertyArray;
    }
    self.networkSecurityGroupId = [dictionary objectForKey:@"networkSecurityGroupId"];
    return self;
} 

@end
@implementation VpcRemoveNetworkSecurityGroupRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcRemoveNetworkSecurityGroupRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcRemoveNetworkSecurityGroupRulesResult* result = [[VpcRemoveNetworkSecurityGroupRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcRemoveNetworkSecurityGroupRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeNetworkSecurityGroupsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation VpcDeleteNetworkSecurityGroupResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcModifyNetworkSecurityGroupResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDeleteNetworkSecurityGroupResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDeleteNetworkSecurityGroupResult* result = [[VpcDeleteNetworkSecurityGroupResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDeleteNetworkSecurityGroupResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcModifyNetworkSecurityGroupResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyNetworkSecurityGroupResult* result = [[VpcModifyNetworkSecurityGroupResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyNetworkSecurityGroupResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcDescribeNetworkSecurityGroupResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeNetworkSecurityGroupResult* result = [[VpcDescribeNetworkSecurityGroupResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeNetworkSecurityGroupResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcAddNetworkAclRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcModifyNetworkAclRulesRequest
-(id) initWithRegion:(NSString *)regionId
modifyNetworkAclRuleSpecs:(NSArray<ModifyNetworkAclRuleSpec*>*)modifyNetworkAclRuleSpecs
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.modifyNetworkAclRuleSpecs = modifyNetworkAclRuleSpecs;
    self.networkAclId = networkAclId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
modifyNetworkAclRuleSpecs:(NSArray<ModifyNetworkAclRuleSpec*>*)modifyNetworkAclRuleSpecs
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.version = version;
    self.modifyNetworkAclRuleSpecs = modifyNetworkAclRuleSpecs;
    self.networkAclId = networkAclId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self modifyNetworkAclRuleSpecs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self modifyNetworkAclRuleSpecs] count]; i++) {
            ModifyNetworkAclRuleSpec* item = [[self modifyNetworkAclRuleSpecs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"modifyNetworkAclRuleSpecs"];
    }
    if([self networkAclId])
    {
        [result setValue:[self networkAclId] forKey:@"networkAclId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* modifyNetworkAclRuleSpecsArray = [dictionary objectForKey:@"modifyNetworkAclRuleSpecs"];
    if(modifyNetworkAclRuleSpecsArray&&![modifyNetworkAclRuleSpecsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [modifyNetworkAclRuleSpecsArray count];i++)
        {
        ModifyNetworkAclRuleSpec* item = [[ModifyNetworkAclRuleSpec alloc]initWithDic:[modifyNetworkAclRuleSpecsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.modifyNetworkAclRuleSpecs = propertyArray;
    }
    self.networkAclId = [dictionary objectForKey:@"networkAclId"];
    return self;
} 

@end
@implementation VpcDescribeNetworkAclResult
-(id) initWithNetworkAcl:(NetworkAcl*) networkAcl { 
    self.networkAcl = networkAcl;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self networkAcl])
    {
        [result setValue:[[self networkAcl] dictionary]forKey:@"networkAcl"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkAcl = [[NetworkAcl alloc]initWithDic:[dictionary objectForKey:@"networkAcl"]];
    return self;
} 

@end
@implementation VpcDeleteNetworkAclResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDeleteNetworkAclResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDeleteNetworkAclResult* result = [[VpcDeleteNetworkAclResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDeleteNetworkAclResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeNetworkAclsResult
-(id) initWithNetworkAcls:(NSArray<NetworkAcl*>*) networkAcls
        totalCount:(NSNumber*)totalCount { 
    self.networkAcls = networkAcls;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self networkAcls])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self networkAcls] count]; i++) {
            NetworkAcl* item = [[self networkAcls] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"networkAcls"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* networkAclsArray = [dictionary objectForKey:@"networkAcls"];
    if(networkAclsArray&&![networkAclsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [networkAclsArray count];i++)
        {
        NetworkAcl* item = [[NetworkAcl alloc]initWithDic:[networkAclsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.networkAcls = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation VpcDescribeNetworkAclsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeNetworkAclsResult* result = [[VpcDescribeNetworkAclsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeNetworkAclsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcModifyNetworkAclRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDescribeNetworkAclResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeNetworkAclResult* result = [[VpcDescribeNetworkAclResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeNetworkAclResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcAssociateNetworkAclResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcAssociateNetworkAclResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcAssociateNetworkAclResult* result = [[VpcAssociateNetworkAclResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcAssociateNetworkAclResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcModifyNetworkAclResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcAddNetworkAclRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcAddNetworkAclRulesResult* result = [[VpcAddNetworkAclRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcAddNetworkAclRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcCreateNetworkAclResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcCreateNetworkAclResult* result = [[VpcCreateNetworkAclResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcCreateNetworkAclResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDisassociateNetworkAclResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDisassociateNetworkAclResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDisassociateNetworkAclResult* result = [[VpcDisassociateNetworkAclResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDisassociateNetworkAclResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcModifyNetworkAclResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyNetworkAclResult* result = [[VpcModifyNetworkAclResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyNetworkAclResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcRemoveNetworkAclRulesResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcModifyNetworkAclRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyNetworkAclRulesResult* result = [[VpcModifyNetworkAclRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyNetworkAclRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcRemoveNetworkAclRulesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcRemoveNetworkAclRulesResult* result = [[VpcRemoveNetworkAclRulesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcRemoveNetworkAclRulesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeNetworkAclsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation VpcAddNetworkAclRulesRequest
-(id) initWithRegion:(NSString *)regionId
networkAclRuleSpecs:(NSArray<AddNetworkAclRuleSpec*>*)networkAclRuleSpecs
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.networkAclRuleSpecs = networkAclRuleSpecs;
    self.networkAclId = networkAclId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkAclRuleSpecs:(NSArray<AddNetworkAclRuleSpec*>*)networkAclRuleSpecs
networkAclId:(NSString*)networkAclId { 
    self.regionId = regionId;
    self.version = version;
    self.networkAclRuleSpecs = networkAclRuleSpecs;
    self.networkAclId = networkAclId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkAclRuleSpecs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self networkAclRuleSpecs] count]; i++) {
            AddNetworkAclRuleSpec* item = [[self networkAclRuleSpecs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"networkAclRuleSpecs"];
    }
    if([self networkAclId])
    {
        [result setValue:[self networkAclId] forKey:@"networkAclId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* networkAclRuleSpecsArray = [dictionary objectForKey:@"networkAclRuleSpecs"];
    if(networkAclRuleSpecsArray&&![networkAclRuleSpecsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [networkAclRuleSpecsArray count];i++)
        {
        AddNetworkAclRuleSpec* item = [[AddNetworkAclRuleSpec alloc]initWithDic:[networkAclRuleSpecsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.networkAclRuleSpecs = propertyArray;
    }
    self.networkAclId = [dictionary objectForKey:@"networkAclId"];
    return self;
} 

@end
@implementation VpcModifyElasticIpResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcDescribeElasticIpsResult
-(id) initWithElasticIps:(NSArray<ElasticIp*>*) elasticIps
        totalCount:(NSNumber*)totalCount { 
    self.elasticIps = elasticIps;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self elasticIps])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self elasticIps] count]; i++) {
            ElasticIp* item = [[self elasticIps] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"elasticIps"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* elasticIpsArray = [dictionary objectForKey:@"elasticIps"];
    if(elasticIpsArray&&![elasticIpsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [elasticIpsArray count];i++)
        {
        ElasticIp* item = [[ElasticIp alloc]initWithDic:[elasticIpsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.elasticIps = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation VpcDeleteElasticIpResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDeleteElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDeleteElasticIpResult* result = [[VpcDeleteElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDeleteElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeElasticIpResult
-(id) initWithElasticIp:(ElasticIp*) elasticIp { 
    self.elasticIp = elasticIp;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self elasticIp])
    {
        [result setValue:[[self elasticIp] dictionary]forKey:@"elasticIp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIp = [[ElasticIp alloc]initWithDic:[dictionary objectForKey:@"elasticIp"]];
    return self;
} 

@end
  
@implementation VpcDescribeElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeElasticIpResult* result = [[VpcDescribeElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeElasticIpsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
  
@implementation VpcDescribeElasticIpsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeElasticIpsResult* result = [[VpcDescribeElasticIpsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeElasticIpsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcModifyElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyElasticIpResult* result = [[VpcModifyElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcCreateElasticIpsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcCreateElasticIpsResult* result = [[VpcCreateElasticIpsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcCreateElasticIpsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcCreateElasticIpsRequest
-(id) initWithRegion:(NSString *)regionId
maxCount:(NSNumber*)maxCount
elasticIpAddress:(NSString*)elasticIpAddress
elasticIpSpec:(ElasticIpSpec*)elasticIpSpec { 
    self.regionId = regionId;
    self.maxCount = maxCount;
    self.elasticIpAddress = elasticIpAddress;
    self.elasticIpSpec = elasticIpSpec;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
maxCount:(NSNumber*)maxCount
elasticIpAddress:(NSString*)elasticIpAddress
elasticIpSpec:(ElasticIpSpec*)elasticIpSpec { 
    self.regionId = regionId;
    self.version = version;
    self.maxCount = maxCount;
    self.elasticIpAddress = elasticIpAddress;
    self.elasticIpSpec = elasticIpSpec;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self maxCount])
    {
        [result setValue:[self maxCount] forKey:@"maxCount"];
    }
    if([self elasticIpAddress])
    {
        [result setValue:[self elasticIpAddress] forKey:@"elasticIpAddress"];
    }
    if([self elasticIpSpec])
    {
        [result setValue:[[self elasticIpSpec] dictionary]forKey:@"elasticIpSpec"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.maxCount = [dictionary objectForKey:@"maxCount"];
    self.elasticIpAddress = [dictionary objectForKey:@"elasticIpAddress"];
    self.elasticIpSpec = [[ElasticIpSpec alloc]initWithDic:[dictionary objectForKey:@"elasticIpSpec"]];
    return self;
} 

@end
@implementation VpcCreateVpcPeeringResult
-(id) initWithVpcPeering:(VpcPeering*) vpcPeering { 
    self.vpcPeering = vpcPeering;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpcPeering])
    {
        [result setValue:[[self vpcPeering] dictionary]forKey:@"vpcPeering"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcPeering = [[VpcPeering alloc]initWithDic:[dictionary objectForKey:@"vpcPeering"]];
    return self;
} 

@end
@implementation VpcDescribeVpcPeeringResult
-(id) initWithVpcPeering:(VpcPeering*) vpcPeering { 
    self.vpcPeering = vpcPeering;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpcPeering])
    {
        [result setValue:[[self vpcPeering] dictionary]forKey:@"vpcPeering"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpcPeering = [[VpcPeering alloc]initWithDic:[dictionary objectForKey:@"vpcPeering"]];
    return self;
} 

@end
  
@implementation VpcDescribeVpcPeeringResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeVpcPeeringResult* result = [[VpcDescribeVpcPeeringResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeVpcPeeringResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcModifyVpcPeeringResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VpcDescribeVpcPeeringsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
  
@implementation VpcCreateVpcPeeringResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcCreateVpcPeeringResult* result = [[VpcCreateVpcPeeringResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcCreateVpcPeeringResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDeleteVpcPeeringResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDeleteVpcPeeringResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDeleteVpcPeeringResult* result = [[VpcDeleteVpcPeeringResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDeleteVpcPeeringResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcModifyVpcPeeringResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyVpcPeeringResult* result = [[VpcModifyVpcPeeringResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyVpcPeeringResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeVpcPeeringsResult
-(id) initWithVpcPeerings:(NSArray<VpcPeering*>*) vpcPeerings
        totalCount:(NSNumber*)totalCount { 
    self.vpcPeerings = vpcPeerings;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpcPeerings])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self vpcPeerings] count]; i++) {
            VpcPeering* item = [[self vpcPeerings] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"vpcPeerings"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* vpcPeeringsArray = [dictionary objectForKey:@"vpcPeerings"];
    if(vpcPeeringsArray&&![vpcPeeringsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [vpcPeeringsArray count];i++)
        {
        VpcPeering* item = [[VpcPeering alloc]initWithDic:[vpcPeeringsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.vpcPeerings = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation VpcDescribeVpcPeeringsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeVpcPeeringsResult* result = [[VpcDescribeVpcPeeringsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeVpcPeeringsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDescribeVpcsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation VpcDescribeVpcsResult
-(id) initWithVpcs:(NSArray<Vpc*>*) vpcs
        totalCount:(NSNumber*)totalCount { 
    self.vpcs = vpcs;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpcs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self vpcs] count]; i++) {
            Vpc* item = [[self vpcs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"vpcs"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* vpcsArray = [dictionary objectForKey:@"vpcs"];
    if(vpcsArray&&![vpcsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [vpcsArray count];i++)
        {
        Vpc* item = [[Vpc alloc]initWithDic:[vpcsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.vpcs = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation VpcDescribeVpcResult
-(id) initWithVpc:(Vpc*) vpc { 
    self.vpc = vpc;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpc])
    {
        [result setValue:[[self vpc] dictionary]forKey:@"vpc"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpc = [[Vpc alloc]initWithDic:[dictionary objectForKey:@"vpc"]];
    return self;
} 

@end
  
@implementation VpcDescribeVpcResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeVpcResult* result = [[VpcDescribeVpcResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeVpcResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcDeleteVpcResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcDeleteVpcResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDeleteVpcResult* result = [[VpcDeleteVpcResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDeleteVpcResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VpcModifyVpcResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VpcCreateVpcResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcCreateVpcResult* result = [[VpcCreateVpcResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcCreateVpcResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcModifyVpcResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcModifyVpcResult* result = [[VpcModifyVpcResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcModifyVpcResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VpcDescribeVpcsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VpcDescribeVpcsResult* result = [[VpcDescribeVpcsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VpcDescribeVpcsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
 
